Download data and execute commented out tests (#178)
authorAndreas-Schniertshauer <59561559+Andreas-Schniertshauer@users.noreply.github.com>
Sat, 28 Mar 2020 21:16:35 +0000 (22:16 +0100)
committerGitHub <noreply@github.com>
Sat, 28 Mar 2020 21:16:35 +0000 (17:16 -0400)
* Add: tests to CMakeLists.txt

* Disable compilation of charwidth, graphemetest and normtest because of missing getline

* Refactoring: UTF8PROC_ENABLE_TESTING default Off, move tests that don't compile on windows to NOT MSVC section, add testing to appveyor.yml

* Add: testing to travis

* Changed: flag to WIN32 because MinGW has the same problem as MSVC

* Commented out graphemetest and normtest because they fail.

* Re-added: graphemetest and normtest added missing data to the path of the text files.

* Fix: last commit was party wrong normtest failed.

* * Commented out graphemetest and normtest because they fail, because in CMakeLists is missing building of data.

* Add: mingw_static, mingw_shared, msvc_shared, msvc_static to ignore list

* Add: downloading data and executing enabled tests that depend on the downloaded data.

* Fix: windows line endings CRLF replaced with linux LF

* Refactoring: (major) set UNICODE_VERSION to 13.0.0, replace curl with file DOWNLOAD, removed downloading unnecessary files, enabled normtest.

* Fix: woodhead error in revision adeac82ec9941667e3c3ad7f50769793547218c3 readded calling execute_process to strip GraphemeBreakTest.txt file

* Add: removing no more used file data/GraphemeBreakTestOrg.txt after stripping.

* Add: testing folder to ignore list

* Add: enabled graphemetest

* Update .gitignore

Co-authored-by: Andreas-Schniertshauer <Andreas-Schniertshauer@users.noreply.github.com>
Co-authored-by: Steven G. Johnson <stevenj@mit.edu>
CMakeLists.txt

index f5406fb079f6f800bd789da646201916e67d7917..12bfda1645af632161e9d6fa87b44346ef1ab1de 100644 (file)
@@ -63,6 +63,11 @@ endif()
 
 if(UTF8PROC_ENABLE_TESTING)
   enable_testing()
+  file(MAKE_DIRECTORY data)
+  set(UNICODE_VERSION 13.0.0)
+  file(DOWNLOAD http://www.unicode.org/Public/${UNICODE_VERSION}/ucd/NormalizationTest.txt data/NormalizationTest.txt SHOW_PROGRESS)
+  file(DOWNLOAD http://www.unicode.org/Public/${UNICODE_VERSION}/ucd/auxiliary/GraphemeBreakTest.txt data/GraphemeBreakTestOrg.txt SHOW_PROGRESS)
+  execute_process(COMMAND bash -c "cat data/GraphemeBreakTestOrg.txt | /usr/bin/perl -pe 's,÷,/,g;s,×,+,g' && rm -f data/GraphemeBreakTestOrg.txt" OUTPUT_FILE data/GraphemeBreakTest.txt)
   add_executable(case test/tests.h test/tests.c utf8proc.h test/case.c)
   target_link_libraries(case utf8proc)
   add_executable(custom test/tests.h test/tests.c utf8proc.h test/custom.c)
@@ -92,6 +97,6 @@ if(UTF8PROC_ENABLE_TESTING)
   target_link_libraries(graphemetest utf8proc)
   add_executable(normtest test/tests.h test/tests.c utf8proc.h test/normtest.c)
   target_link_libraries(normtest utf8proc)
-  #add_test(utf8proc.testgraphemetest graphemetest data/GraphemeBreakTest.txt)
-  #add_test(utf8proc.testnormtest normtest data/NormalizationTest.txt)
+  add_test(utf8proc.testgraphemetest graphemetest data/GraphemeBreakTest.txt)
+  add_test(utf8proc.testnormtest normtest data/NormalizationTest.txt)
 endif()